package com.lmt.service;

import com.lmt.base.ResultData;
import com.lmt.entity.Dissertation;
import com.lmt.entity.search.DissertationSearch;

import java.util.List;

/**
 * Date 2018/07/17
 *
 * @author MT-Lin
 */
public interface DissertationService {

	/**
	 * 保存专题
	 * @param dissertation 要保存的专题
	 * @return ResultData
	 */
	ResultData save(Dissertation dissertation);

	/**
	 * 搜索专题
	 * @param dissertationSearch 搜索条件
	 * @return ResultData
	 */
	ResultData search(DissertationSearch dissertationSearch);

	/**
	 * 根据ID查找
	 * @param id 要查找的ID
	 * @return ResultData
	 */
	ResultData findOneById(String id);

	/**
	 * 删除专题
	 * @param dissertations 要删除的专题
	 * @return ResultData
	 */
	ResultData delete(List<Dissertation> dissertations);

	/**
	 * 更新专题
	 * @param dissertation 要更新的专题
	 * @return ResultData
	 */
	ResultData update(Dissertation dissertation);

	/**
	 * 获取父类专题选择数据
	 * @return ResultData
	 */
	ResultData getParentTree();

	/**
	 * 获取一级专题以下所有子专题的ID
	 * @return ResultData
	 */
	ResultData getHasResourceDissertationIdsGroup();
}
